package designMode.compoundPattern;

/**
 * @author LIBOFEI
 * @ClassName QuackObservable
 * @Description 此时想观察个别鸭子的行为，观察者模式
 *              所谓的Observable就是被观察的对象，Observable需要注册和通知观察者的方法。省略删除观察者的方法
 * @date 2020/7/1 15:33
 * @Version 1.0
 **/
public interface QuackObservable {

    /** *
     * 任何实现了observer接口的对象都可以监听呱呱呱叫
     * @param observer
     * @author LIBOFEI
     * @date 15:39 2020/7/1
     * @return void
     * @Version  1.0
    **/
    void registerObserver(Observer observer);

    /** *
     * 通知观察者的方法
     * @author LIBOFEI
     * @date 15:39 2020/7/1
     * @return void
     * @Version  1.0
    **/
    void notifyObservers();
}
